package school.valon.persistence.pojo;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * The persistent class for the student_class_recording database table.
 * 
 */
@Entity
@Table(name="student_class_recording")
@NamedQueries({
@NamedQuery(name="StudentClassRecording.findAll", query="SELECT s FROM StudentClassRecording s"),
@NamedQuery(name="StudentClassRecording.deleteById", query="DELETE FROM StudentClassRecording WHERE studentClassRecordingId = :P1")
})
public class StudentClassRecording implements Serializable {

	private static final long serialVersionUID = 3262043456805425610L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="student_class_recording_id")
	private Integer studentClassRecordingId;

	@Column(name="attended_hours")
	private Integer attendedHours;

	@Temporal(TemporalType.DATE)
	@Column(name="class_date")
	private Date classDate;

	@Column(name="performance_mark")
	private BigDecimal performanceMark;


	//bi-directional many-to-one association to CourseOffering
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="course_offering_id")
	private CourseOffering courseOffering;

	//bi-directional many-to-one association to Student
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="student_id")
	private Student student;

	//bi-directional many-to-one association to StudentClassRecordingComment
	@OneToMany(mappedBy="studentClassRecording", fetch=FetchType.LAZY)
	private List<StudentClassRecordingComment> studentClassRecordingComments;

	public Integer getStudentClassRecordingId() {
		return this.studentClassRecordingId;
	}

	public void setStudentClassRecordingId(Integer studentClassRecordingId) {
		this.studentClassRecordingId = studentClassRecordingId;
	}

	public Integer getAttendedHours() {
		return this.attendedHours;
	}

	public void setAttendedHours(Integer attendedHours) {
		this.attendedHours = attendedHours;
	}

	public Date getClassDate() {
		return this.classDate;
	}

	public void setClassDate(Date classDate) {
		this.classDate = classDate;
	}

	public BigDecimal getPerformanceMark() {
		return this.performanceMark;
	}

	public void setPerformanceMark(BigDecimal performanceMark) {
		this.performanceMark = performanceMark;
	}

	public CourseOffering getCourseOffering() {
		return this.courseOffering;
	}

	public void setCourseOffering(CourseOffering courseOffering) {
		this.courseOffering = courseOffering;
	}

	public Student getStudent() {
		return this.student;
	}

	public void setStudent(Student student) {
		this.student = student;
	}

	public List<StudentClassRecordingComment> getStudentClassRecordingComments() {
		return this.studentClassRecordingComments;
	}

	public void setStudentClassRecordingComments(List<StudentClassRecordingComment> studentClassRecordingComments) {
		this.studentClassRecordingComments = studentClassRecordingComments;
	}
}